#ifndef CHASSIS_H
#define CHASSIS_H

#include <string>
#include <vector>
#include "tire.h"

class Chassis {
public:
    std::string id;
    std::string model = "SCOUT MINI";
    std::string wheelbase = "451mm";
    std::string track = "490mm";
    std::string min_clearance = "115mm";
    std::string min_turn_radius = "0m";
    std::string drive_type = "四轮四驱";
    std::string max_range = "10KM";
    std::vector<Tire> tires;

    // Set methods
    void setId(const std::string& id);
    void setModel(const std::string& model);
    void setWheelbase(const std::string& wheelbase);
    void setTrack(const std::string& track);
    void setMinClearance(const std::string& min_clearance);
    void setMinTurnRadius(const std::string& min_turn_radius);
    void setDriveType(const std::string& drive_type);
    void setMaxRange(const std::string& max_range);
    void addTire(const Tire& tire);

    // Print and save methods
    void print() const;
    void save(std::ofstream& out) const;
};

#endif // CHASSIS_H